1. 首页 > 有趣热门手游

ThinkPHP8.1.4版本公开 thinkphp v5.1.34 lts

作者:admin 更新时间:2026-03-20
摘要:本次更新兼容PHP8.5,优化核心框架(Config、路由、请求响应)、ORM(LazyCollection、视图模型、关联查询等)及开发工具,保持向下兼容。,ThinkPHP8.1.4版本公开 thinkphp v5.1.34 lts

 

本次更新兼容PHP8.5,优化核心框架(Config、路由、请求响应)、ORM(LazyCollection、视图模型、关联查询等)及开发工具,保持向下兼容。

本次更新带来了核心框架和ORM的多项功能改进和问题修复,兼容PHP8.5版本,并进一步提升了框架的稳定性和开发体验。同时也给2025年的工作划上了一个完美的句号,期待新的一年更多的新特性。

核心更新

核心功能增强

1. Config类优化

改进hook方法,增加key参数支持

调整lazy方法实现,提升配置加载效率

立即学习“PHP免费学习笔记(深入)”;

2. 路由系统改进

修正路由URL生成逻辑

路由绑定到命名空间支持控制器后缀

改进路由分组的URL有效性检查

优化路由中间件传参机制

3. 请求响应优化

改进Request类功能

增强Response类send方法的异常处理能力

改进HttpEnd错误日志记录

兼容性与性能

1. PHP兼容性

全面兼容PHP8.5版本

调整"psr/http-message"依赖,增加"^2.0"支持

2. 缓存与日志

改进Redis缓存驱动性能

优化日志文件删除顺序

提升日志处理效率

开发工具增强

1. 新增命令行工具

新增 `optimize` 命令,提供更多优化选项

2. 代码质量

优化 PHP CS Fixer 配置规则

提升代码规范性和可维护性

ORM更新

同时我们也给ThinkORM4.0带来了大量的优化和改进。

性能优化

引入`LazyCollection`惰性数据集,大幅减少内存占用

`chunk` 方法使用`lazy`重写,提升大数据量处理性能

关联预载入查询使用`cursor`减少内存开销

改进lazy方法对`distinct`的处理

改进toarray方法的`append`处理,支持`relation.attr`方式

优化Json字段解析效率

`LazyCollection` 类增加`page`方法简化数据处理

改进`cursor`方法支持关联查询

改进关联预载入查询的`limit`方法

优化PDOConnection类`query`和`execute`方法,不依赖Query

视图模型功能完善

完整的视图模型生命周期支持(查询、验证、写入)

支持自动关联查询和写入

独立的查询范围和搜索器

JSON字段映射和类型转换

视图模型支持`update`和`create`方法调用并返回当前视图模型

视图模型增加`clear`、`reflesh`、`validate`、`data`等方法

视图模型默认支持写入,除非`readonly`为true(原`allowWrite`参数废弃)

改进视图模型的自动关联查询,不依赖`autoMapping`定义,会自动检测关联映射

优化视图模型的查询条件处理,可以自动根据视图模型的属性查询,会自动关联查询

视图模型查询排序字段支持映射

改进视图模型多级子关联映射问题

改进视图模型的嵌套关联数据写入

改进视图模型的获取器调用

改进视图模型支持基础类参数定义

改进视图模型的`data`方法支持原有属性和传入对象

改进视图模型的一对多关联写入

class="aritcle_card flexRow">

class="artcardd flexRow">

class="aritcle_card_info flexColumn"> ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

下载

改进视图模型的`create`、`update`、`save`、`saveAll`等方法

改进视图模型的自动数据验证,支持字段映射

视图模型增加`validate_mapping_data`配置,用于设置是否验证映射后的数据

数据库连接增强

`connect` 方法支持数组配置

数据库驱动增加时区设置,统一使用`timezone`参数配置

PostgreSQL驱动完善,使用标准系统表查询字段信息

完善`pgsql`驱动支持获取字段注解内容

增加`after_connect`事件

数据库`numberic`类型视为字符串类型处理

关联查询功能增强

一对多关联增加`first`和`last`方法

一对一关联增加`firstOfMany`和`lastOfMany`方法

改进`hasWhere`查询条件支持更多的数组用法

改进关联写入支持JSON字段映射

修正`belongsTo`关联的`hasWhere`方法

模型功能增强

模型增加`scene`方法,用于设置自动验证的场景

模型和实体模型增加基础配置定义方法`getBaseOptions()`

模型增加`setAttrs`、`getAutoInc`等方法

改进模型的`suffix`方法调用处理

调整`getPk`方法支持没有主键的表

模型类和数据集对象增加`toView`方法

改进`autoWriteData`方法对于手动写入的自动写入时间字段不再生成

改进模型的`destory`方法增加`together`参数

改进Model类`get`方法

改进Model类`__isset`、`__unset`、`__unserialize`方法

去掉Model类的`autoinc`处理

改进实体模型和视图模型的`newInstance`和`setModel`方法

改进视图模型的`clone`、`refresh`方法

改进视图模型的查询字段自动识别

查询功能改进

增加`lazy`惰性查询方法

优化预载入关联查询使用`lazy`方法

增加`stream`流式处理方法,支持流式回调

改进`hasWhere`的查询条件,支持更多的数组用法

改进join查询方法的多次调用

改进`parserOrder`方法支持json字段排序

改进`getOrigin`方法增加类型转换参数

问题修复

修正`DateTime`类关闭时间格式化后的问题,支持写入null

修正软删除功能

修正`chunk`方法主键不存在的情况查询出错问题

修正OptimLock的`getDbWhere`方法参数默认值

修正`order`方法传数组的别名问题

修复`chunk`查询中断问题

修复`mongo`游标查询问题

修正修改器的data参数

改进`update`方法的刷新数据

安装与升级

全新安装

composer create-project topthink/think tp

升级现有项目

composer update topthink/framework

注意事项

1. 本次更新为常规维护版本,保持向下兼容

2. 建议在测试环境中验证后再部署到生产环境

3. 如遇到任何问题,请访问官方文档或提交Issue